Closed Bug 582379 Opened 15 years ago Closed 14 years ago

When :hover transition oscillates, some transitions continue all the way through

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla2.0b8
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: jk1700, Assigned: dbaron)

References

(Blocks 1 open bug, )

Details

Attachments

(5 files, 2 obsolete files)

User-Agent: Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b2) Gecko/20100720 Firefox/4.0b2 Build Identifier: Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b2) Gecko/20100720 Firefox/4.0b2 Move mouse on the yellow box to a specific place (see "steps") and the color transforms will be applied, but rotate/scale will not Reproducible: Always Steps to Reproduce: 1. Open the page http://hacks.mozilla.org/2010/07/firefox4-beta2/ 2. Move the mouse pointer to: x = bottom right x of the yellow box, y = bottom right y of the yellow box + 10 px 3. Wait... Actual Results: Box starts to transform, but after rotating it comes out from "hover" state and moves back. Then it has "hover" again so starts transforming again and so on. So the rotate/scale transform is going back and forth. However the color & background-color transform continues, so the background of the yellow box turns to red, moreover - it's slower then 1s (value of the transoform-duration) Expected Results: The yellow box shouldn't turn red
Errata: in p.2 y = should be bottom right y of the yellow box - 10px (minus instead of plus)
Version: unspecified → Trunk
dholbert also mentioned this to me today; not sure if he also filed a bug on it. It seems like the color transform should also oscillate just like the rotation does.
Component: Layout → Style System (CSS)
QA Contact: layout → style-system
Summary: Sometime only some CSS transforms are applied → When :hover transition oscillates, some transitions continue all the way through
I think we should at least understand what's going on here for 2.0; there could be a serious transitions bug underneath.
Status: UNCONFIRMED → NEW
blocking2.0: --- → ?
Ever confirmed: true
I believe dholbert filed bug 582384 on something much like this.
This is interesting: if I hover the very tip of the right-bottom corner of the yellow box, the color stays yellow. You really do need to move partially up into the box for the color transition to happen. So I'm guessing that key is that the box is still hovered after the transform transition has reversed. Also, if I change the testcase to do a 1s transition on the transform and 2s transitions on the background/color, then by slowly moving the mouse up from the bottom near the bottom right corner I can get the transform to oscillate very near its final position while the color and background are still at their initial position.... If the color/background transition faster than the transform, I can't get that to happen.
(In reply to comment #5) > I believe dholbert filed bug 582384 on something much like this. Indeed - jk1700 beat me by 4 minutes. :) Marked mine as a dupe. The latest testcase from mine was attachment 460662 [details] -- it's basically a reduced version of the original URL, with a font-size transition added, to demonstrate that this isn't specific to colors.
It's also not specific to transforms; I can get the same effect with a 'width' transition.
I think this might be fixed by bug 582111.
Depends on: 582111
blocking2.0: ? → betaN+
Assignee: nobody → dbaron
OS: Windows 7 → All
Hardware: x86 → All
I suspect the underlying problem is the incorrect distance computation metric for transforms, fixed in patch 2 in bug 598099; in any case, I'm not seeing this in my tree anymore. (If that's not it, then the only other possibility I can think of is patch 1 in the same bug.)
Whiteboard: [fixed locally, probably by bug 598099]
Actually, it doesn't seem to be fixed in nightlies.
I guess it's probably the changes I've had in my tree for ages, related to a new approach for bug 526784. Maybe I should try to get those in. But I should see if they're what fixes it first...
Attached patch patch (obsolete) — Splinter Review
I've had this in my tree for ages (related to the discussion in bug 526784); I think we should just do it.
Attachment #488950 - Flags: review?(bzbarsky)
Comment on attachment 488950 [details] [diff] [review] patch r=me, but the computation of valuePortion, as well as the concept of mReversePortion, are pretty confusing. They could use some extensive comments, possibly even with an example...
Attached patch patchSplinter Review
I think this adds the comments you requested, though I'm not sure what you found confusing about the valuePortion computation. The interdiffs are the following two changes: http://hg.mozilla.org/users/dbaron_mozilla.com/patches/rev/ee77ad146a07 http://hg.mozilla.org/users/dbaron_mozilla.com/patches/rev/8961332a118f
Attachment #488950 - Attachment is obsolete: true
Attachment #489183 - Flags: review?(bzbarsky)
Attachment #488950 - Flags: review?(bzbarsky)
Whiteboard: [fixed locally, probably by bug 598099]
> though I'm not sure what you found confusing For example, the exact provenance of the (1.0 - oldPT.mReversePortion) term. The new comments and especially example help with that, thanks.
Oh, I was wondering what you found confusing about the computation of the *first* |valuePortion|, when you actually meant the second :-)
Attached patch patch underneathSplinter Review
I had this patch underneath the main patch in this bug, and I think it's probably worth taking (particularly for the negative-duration sanity).
Attachment #489243 - Flags: review?(bzbarsky)
Attachment #489183 - Flags: review?(bzbarsky) → review+
Attachment #489243 - Flags: review?(bzbarsky) → review+
Status: NEW → RESOLVED
Closed: 15 years ago
Priority: -- → P2
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b8
Not fixed in 20101216 build, I still have some strange effects when hovering the box in the attached testcase 1) move mouse cursor to the right border below the middle of the height - the box starts to transform and when it reaches the point where the transition should move back&forth the rotation transition stops, but the colors transition starts goes on, but opposite direction (it starts to turn yellow). When it reaches yellow it starts to blink very fast with yellow and orange colors 2) move cursor to the right bottom corner - depending on your precision you will see either the effect from p.1 (rotating stops very soon, but blinking starts also very soon) or you will see the same effect but with two properties (rotation and color; one frame is yellow box with initial rotation and the next one is orange and rotation -30deg)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached image Visualisation of comment 24 (obsolete) —
What's the build ID of the build you're testing in?
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20101217 Firefox/4.0b9pre
Attached video Video for comment 24
Attachment #498234 - Attachment is obsolete: true
Filed bug 620118, as it's a different issue, although related to this one
Status: REOPENED → RESOLVED
Closed: 15 years ago14 years ago
Resolution: --- → FIXED
Attachment #498508 - Attachment mime type: video/x-webm → video/webm
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: